package com.swm.util;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author 师文明
 * @data 2025/4/15 下午3:16
 **/
public class ExcelExample {

    public static void main(String[] args) {
        // 创建Workbook实例，对应一个Excel文件
        Workbook workbook = new XSSFWorkbook(); // 对于xlsx格式的文件
        // 或使用HSSFWorkbook()来创建xls格式的文件
        // Workbook workbook = new HSSFWorkbook(); // 对于xls格式的文件

        // 创建Sheet（工作表）
        Sheet sheet = workbook.createSheet("Sheet");

        // 创建行（Row），参数0表示第一行
        Row row = sheet.createRow(0);

        // 在行中创建单元格（Cell）并写入数据，参数0表示第一列
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello");

        // 创建第二行和单元格，并写入数据
        row = sheet.createRow(1);
        cell = row.createCell(0);
        cell.setCellValue("World");

        // 调整列宽以适应内容（可选）
        sheet.autoSizeColumn(0);
        sheet.autoSizeColumn(1); // 如果需要的话，可以调整更多列的宽度

        // 将数据写入文件系统中的文件
        try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) { // 对于xlsx格式的文件
            // 或使用 FileOutputStream("example.xls") 来创建xls格式的文件
            workbook.write(outputStream); // 将数据写入文件
            workbook.close(); // 关闭workbook以释放资源
            System.out.println("Excel文件已成功创建！");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
